package com.atguigu.rabbitmq.day02;

import com.atguigu.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.DeliverCallback;

//这是一个工作线程（相当于之前讲的消费者）
public class Worker01 {
    //队列名称
    public static final String QUEUE_NAME="hello";
    //接收消息
    public static void main(String[] args) throws Exception {
        Channel channel = RabbitMqUtils.getChannel();


        //声明 接收消息
        DeliverCallback deliverCallback=(consumerTag, message)->{
            //参数message本身包括消息头，消息属性和消息体 我们只需要消息体
            System.out.println("接受到的消息："+new String(message.getBody()));
        };
        //取消消息时的回调
        CancelCallback cancelCallback= consumerTag->{
            System.out.println(consumerTag+"消息者取消消费接口回调逻辑");
        };
        //System.out.println("c1等待接收消息......");
        System.out.println("c2等待接收消息......");
        //消息的接收
        channel.basicConsume(QUEUE_NAME,true,deliverCallback,cancelCallback);

    }
}
